4 - Arc Consistency (Part 1) [ID:22350]
50 von 79 angezeigt

Obviously, what are we going to do next? Something better.

Okay? And that's called our consistency.

And for that, we have to work a little bit harder.

Say we have the following example. We have a partial solution, V1.

We've... V1 is 1, and then we have these ordering constraints here.

And forward checking is essentially you've committed on this and you push things forward.

Here, we see that this constraint from the 1 actually rules out the 1 here.

So in the first forward checking step, we go here.

Now this is nice, because if we have another ordering constraint, we can rule out 1 and 2 here.

And we're left with 3.

But of course, using constraints only in one direction, why wouldn't we do better?

Because what we could do here is we could go back and say, ah, the 3 is impossible as well.

Forward checking doesn't do that because it's actually forward oriented.

It would kind of make a wave and the wave kind of goes on and on and on until it's beached here.

But we can do better. We can go backwards.

And so our consistency is essentially go all directions possible.

Use all the constraints in all directions.

You can imagine that this is more work.

But it gives you better results because in this case, if we also go backwards here, we can read off the solution.

1, 2, 3, boom. No choice whatsoever.

We have two potentially, we have two choices here, which would be the next one that we would probably be choosing.

And so we can still go astray into a direction that that's not going to help us.

Yes.

Mm, pedestrian.

But forward checking should have put one instead of three, right?

I'm not sure what you're saying.

When we have forward check, when we applied forward checking at the third one,

forward checking would put one instead of three.

I know.

Well, this is exactly what forward checking does.

Yeah. But when it is two and three there, then forward checking should decide, oh, the next one cannot be three or two or three.

Then I put one there instead of three.

It actually decides that if the only thing that's, the only thing that we're ruling out everything that isn't compatible with the two here, right?

Which is one is not compatible with the two because it is greater, it is less.

And two is not compatible because it's not greater.

So we can, the only thing that's left over is three here.

Okay. The constraints are not the colors.

I thought it is another illustration.

Oh, this one. No, this is Australia. Two examples.

Okay. They are smaller and bigger. Okay.

Okay. Good. Then I understand what you said. Thank you.

Okay. And what we can do with circles, we can do in Australia as well.

Okay. So I'd say we choose Western Australia again.

Then if you remember, in the Northern Territory, oh, sorry.

Yeah, wait. Relay.

Okay.

So you said that we rule out everything that's not consistent with the two, but how do we choose that we rule out everything not consistent with the two and we don't do the three instead?

Like, I'm still not sure, like, where do the choice points come from?

Because I thought we'd just do inference on the choice points that we have, but then in this case, we already have like.

You mean in the circles example?

Teil eines Kapitels:
Constraint Propagation

Zugänglich über

Offener Zugang

Dauer

00:08:36 Min

Aufnahmedatum

2020-10-31

Hochgeladen am

2020-10-31 10:16:59

Sprache

en-US

Example, why Forward Checking is not good enough.

Einbetten
Wordpress FAU Plugin
iFrame
Teilen